/*
3. 数字重复统计
随机产生100个整数
数字的范围[-100, 100]
降序输出这些生成的数字并打印其重复的次数
*/
package main

import (
	"fmt"
	"math/rand"
	"sort"
)

func main() {
	var s1 = make([]int, 100, 100)
	var s2 = make([]int, 0)
	value := 0

	// 随机产生100个整数，数字的范围[-100, 100]
	for i := 0; i < len(s1); i++ {
		s1[i] = rand.Intn(200) - 100
	}
	fmt.Printf("s1=%v\n", s1)

	// 去重,用当前项逐个和后项比较，如果相等就删除当前项
	for i := 0; i < len(s1); i++ {
		temp := false
		for j := i + 1; j < len(s1); j++ {
			if s1[i] == s1[j] {
				temp = true
				value++
				continue
			}
		}
		if !temp {
			s2 = append(s2, s1[i])
		}
	}
	fmt.Printf("s2=%v\n", s2)

	// 降序输出这些生成的数字并打印其重复的次数
	sort.Sort(sort.Reverse(sort.IntSlice(s2)))

	fmt.Printf("s2=%v\n 重复次数: %d\n", s2, value)
}
